package com.ruoyi.finance.collection.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.checkerframework.checker.formatter.qual.Format;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @TableName V_BILL_COLLECTION
 */
@TableName(value ="V_BILL_COLLECTION")
@Data
public class VBillCollection implements Serializable {
    @TableField(value = "BILL_COLLECTION_ID")
    private Long billCollectionId;

    @TableField(value = "PROJECT_ID")
    private Long projectId;

    @TableField(value = "GKEY")
    private String gkey;

    @TableField(value = "CON_ID")
    private Long conId;

    @TableField(value = "BASIC_FEE_CODE")
    private String basicFeeCode;

    @TableField(value = "BASIC_FEE_NAME")
    private String basicFeeName;

    @TableField(value = "UNIT_PRICE")
    private BigDecimal unitPrice;

    @TableField(value = "WORK_NUM")
    private BigDecimal workNum;

    @TableField(value = "AMOUNT")
    private BigDecimal amount;

    @TableField(value = "CURRENCY")
    private String currency;


    @TableField(value = "STATEMENT_ID")
    private Long statementId;

    @TableField(value = "CREATE_BY")
    private String createBy;

    @TableField(value = "CREATE_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(value = "UPDATE_BY")
    private String updateBy;

    @TableField(value = "UPDATE_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(value = "DEL_FLAG")
    private String delFlag;

    @TableField(value = "REMARK")
    private String remark;

    @TableField(value = "DEL_NAME")
    private String delName;

    @TableField(value = "DEL_TIME")
    private Date delTime;

    @TableField(value = "FEE_SERVICE_ID")
    private Long feeServiceId;

    @TableField(value = "FEE_SERVICE_NAME")
    private String feeServiceName;


    @TableField(value = "UNIT")
    private String unit;

    @TableField(value = "CUSTOMER_COD")
    private String customerCod;


    @TableField(value = "COLLECTION_SOURCE")
    private String collectionSource;

    @TableField(value = "WORK_NUM_B")
    private BigDecimal workNumB;

    @TableField(value = "RULE_ID")
    private Long ruleId;

    @TableField(value = "EXCHANGE_RATE")
    private BigDecimal exchangeRate;

    @TableField(value = "EXCHANGE_AMOUNT")
    private BigDecimal exchangeAmount;

    @TableField(value = "COLLECTION_STATUS")
    private String collectionStatus;

    @TableField(value = "CUSTOMER_NAM")
    private String customerNam;

    @TableField(value = "COMPANY_COD")
    private String companyCod;

    private BigDecimal taxRate;

    private String collectionStatusCn;

    private String cnCompanyNam;

    private String conCode;

    private String currencyCn;

    private String statementNo;

    private String collectionSourceCn;

    private String createNickName;

    private String updateNickName;

    private String delNickName;

    private String statementStatus;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}